package cn.ljl.basic.jwt;

import java.util.Date;


/**
 * RsaUtils - RSA工具类:用于生成公钥和私钥文件
 * JwtUtils - JWT工具类:用于通过公钥或私钥 将载荷(包含数据) 进行加密(jwt token)和解密(原始数据)
 * PayLoad - 载荷:我们的数据将会保存在这个对象中(T loginData)
 *  如果是一个对象:直接保存,那如果是多个数据,而且既有对象,又有集合呢 - 可以用Map或自定义对象
 * LoginData - 自定义对象:就是我们的数据
 */
public class Payload<T> {

    private String id;  // jwt的id(token)
    private T loginData;  // 用户信息：用户数据，不确定，可以是任意类型
    private Date expiration;  // 过期时间

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public T getLoginData() {
        return loginData;
    }

    public void setLoginData(T loginData) {
        this.loginData = loginData;
    }

    public Date getExpiration() {
        return expiration;
    }

    public void setExpiration(Date expiration) {
        this.expiration = expiration;
    }

    @Override
    public String toString() {
        return "Payload{" +
                "id='" + id + '\'' +
                ", loginData=" + loginData +
                ", expiration=" + expiration +
                '}';
    }
}